From: Georges Basile Stavracas Neto Date: Wed, 27 Jan 2021 16:29:53 +0000 (-0300) Subject: workspaceThumbnail: Use current number of workspaces for sizes X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~616^2^2~539 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=df2181c91323b869e6f2a680c19b217366cbc7f9;p=gnome-shell.git workspaceThumbnail: Use current number of workspaces for sizes There are situations where MetaWorkspaceManager and ThumbnailsBox disagree on the number of workspaces, for example when animating them out. It's more important to follow the visible number of workspaces while they're updated. Make vfunc_get_preferred_width() and vfunc_get_preferred_height() use the current number of workspace thumbnails to calculate their sizes, instead of MetaWorkspaceManager's n-thumbnails property. Part-of: --- diff --git a/js/ui/workspaceThumbnail.js b/js/ui/workspaceThumbnail.js index 839ab89e4..4ca1dd48b 100644 --- a/js/ui/workspaceThumbnail.js +++ b/js/ui/workspaceThumbnail.js @@ -1178,13 +1178,12 @@ var ThumbnailsBox = GObject.registerClass({ } vfunc_get_preferred_height(forWidth) { - let workspaceManager = global.workspace_manager; let themeNode = this.get_theme_node(); forWidth = themeNode.adjust_for_width(forWidth); let spacing = themeNode.get_length('spacing'); - let nWorkspaces = workspaceManager.n_workspaces; + let nWorkspaces = this._thumbnails.length; let totalSpacing = (nWorkspaces - 1) * spacing; const avail = forWidth - totalSpacing; @@ -1200,11 +1199,10 @@ var ThumbnailsBox = GObject.registerClass({ // Note that for getPreferredHeight/Width we cheat a bit and skip propagating // the size request to our children because we know how big they are and know // that the actors aren't depending on the virtual functions being called. - let workspaceManager = global.workspace_manager; let themeNode = this.get_theme_node(); let spacing = themeNode.get_length('spacing'); - let nWorkspaces = workspaceManager.n_workspaces; + let nWorkspaces = this._thumbnails.length; let totalSpacing = (nWorkspaces - 1) * spacing; const naturalWidth =